﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zero.Core.Domain;
using Zero.Core.Domain.Query;
using Zero.POCO.Audiences;
using Zero.POCO.Compagne;
using Zero.POCO.Donnees;
using Zero.POCO.Views;

namespace Zero.POCO.Interfaces
{
    public interface IRepositoryVague<T, TId> : IRepository<T, TId> where T : IAggregateRoot
    {
        List<ISignalitique> GetAudienceTv(Query query, Vague signalitique);
        List<ISignalitique> GetAudienceRadio(Query query, ISignalitique signalitique);
        List<ISignalitique> GetAudiencePresse(Query query, ISignalitique signalitique);
        List<ResultatRequete> GetIndicateurRadioTele(Query query, Vague entity);
        IEnumerable<ISignalitique> GetSignalitique(Filter Filtre, Vague Vague);
        List<AudienceViewModel> GetAudience(Query query, Vague entity);
        ProfilView GetStatistiquesProfil(Query query);
        ProfilPenetrationView GetStatistiquesProfilPenetration(Query query);
        PartAudienceMain GetStatistiquesPartAudience(Query query);
        StructureVague GetStatistiquesStructure(Query query);

    }
}
